Erlang node acts like it connects, but doesn't [migrated]
Posted
by
Malfist
on Programmers
See other posts from Programmers
or by Malfist
Published on 2012-06-05T18:30:18Z
Indexed on
2012/06/05
22:46 UTC
Read the original article
Hit count: 286
distributed-computing
|erlang
I'm trying to setup a distributed network of nodes across a few firewalls and it's not going so well.
My application is structured like this: there is a central server that always running a node ([email protected]) and my co-worker's laptops connect to it on startup.
This works if we're all in the office, but if someone is at home, they can connect to the masternode, but they fail to connect to the other nodes in the swarm. I.E., erlang fails to gossip correctly.
To correct this, I've change epmd's port number and changed the inet_dist_listen ports to a known open port (1755 and 7070 respectively). However, something fishy is going on.
I can run net_adm:world()
and it reports that it connects to master node, but when I run nodes()
I get an empty array. Same with net_adm:ping('[email protected]').
See:
Eshell V5.9 (abort with ^G)
([email protected])1> net_adm:world().
['[email protected]']
([email protected])2> nodes().
[]
([email protected])3> net_adm:ping('[email protected]').
pong
([email protected])4> nodes().
[]
([email protected])5>
What's going on, and how can I fix it?
© Programmers or respective owner